<?php 
// 给PHP设置内存占用，这里为1个G也就是1024M
ini_set("memory_limit", "1024M");

// 引用PHPspider框架的核心文件。
// 因为我们代码放在projects目录下，所以使用相对路径。
// dirname(__FILE__)指的是本文件所在文件夹,'/../'指的是上级目录。
// 这句翻译过来就是，引用文件所在文件夹上级目录core中的init.php文件。

require dirname(__FILE__)."/../core/init.php";

// 写一个方法来保存图片，参数$url是含有图片页面的网址。
function saveImages($url){
    // requests::get($url) 是框架的静态方法。
    // 通过网址获取页面的HTML代码。
    $html = requests::get($url);

    // Xpath规则：获取Class样式为joke-main-img的图片地址。
    $selector = '//img[@class="joke-main-img"]/@src';
    // 使用上面的Xpath规则去找匹配，返回数组。
    $imgs = selector::select($html, $selector);

    // 循环图片数组
    foreach ($imgs as $key => $value) {
        // 把图片地址中的small换成big，这样就是大图的真实地址
        $imgUrl = str_replace('small', 'big', $value);
        // PHP自带函数parse_url，解析网址返回数组
        $arr = parse_url($imgUrl);
        // 返回URL路径中的文件名部分
        $file = basename($arr['path']);
        // 采集图片
        $image = file_get_contents($imgUrl); 
        // 写图片到本地images文件夹，文件名与原图片名相同。
        file_put_contents('hahameinv/'.$file, $image);
    }
}


for ($i=1; $i < 1846; $i++) { 
    $url = 'http://www.haha.mx/topic/1/new/'.$i;
    // 传URL执行上面写的保存图片方法
    saveImages($url);
}